/*
 * raid.c
 *
 *  Created on: 02/10/2011
 *      Author: utn_so
 */
#include <RAID.h>
#include <stdlib.h>
#include <stdio.h>
NODO *inicio=NULL;
NODO *fin=NULL;
int i;
void main(void){

	struct interfase_FS cola[4];

	cola[0].sector= 1;
	cola[0].modo= LECTURA;
	//cola[0].info_sector;

	cola[1].sector= 2;
	cola[1].modo= LECTURA;
	//cola[1].info_sector;

	cola[2].sector= 3;
	cola[2].modo= LECTURA;
	//cola[2].info_sector;

	cola[3].sector= 4;
	cola[3].modo= LECTURA;
	//cola[3].info_sector;

	for(i=0;i<4;i++)
		encolar(cola+i,inicio,fin);

	NODO *aux=inicio;
	for(i=0;i<4;i++)
	{
		printf("Sector: %d",aux->sector);
			aux=aux->nodo_siguiente;

	}

}

void encolar(const NODO *asignado,NODO *inicio,NODO *fin)
{
	NODO* nuevo_nodo = (NODO*)malloc(sizeof(NODO));
	nuevo_nodo->nodo_siguiente = NULL;
	nuevo_nodo->sector=asignado->sector;
	if(inicio==NULL && fin==NULL)
	{
		//cola vacia
		inicio = fin = nuevo_nodo;
	}
	else
	{
		//la cola tiene datos insertamos uno nuevo
		fin->nodo_siguiente = nuevo_nodo;
		fin = nuevo_nodo;
	}
	//Copia la info solo si el modo es escritura y el modo

	if (ESCRITURA == (inicio->modo = asignado->modo)){
		memcpy(inicio->info_sector, asignado->info_sector, 512);
	}

}
